package com.seckill.model.dto;

import lombok.Data;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 用户领域模型
 *
 * @author lill
 * @date 2019-06-05
 */
@Data
public class UserDTO implements Serializable {

    private static final long serialVersionUID = 2778916153054555565L;

    /**
     * ID
     */
    private Integer id;

    /**
     * 姓名
     */
    @NotBlank(message = "姓名不能为空")
    private String name;

    /**
     * 性别
     */
    @NotNull(message = "性别不能为空")
    private Byte gender;

    /**
     * 年龄
     */
    @NotNull(message = "年龄不能为空")
    @Min(value = 0, message = "年龄必须大于0岁")
    @Max(value = 150, message = "年龄必须小于150岁")
    private Integer age;

    /**
     * 电话
     */
    @NotBlank(message = "手机号不能为空")
    private String telephone;

    /**
     * 来源
     */
    private String registerMode;

    /**
     * 第三方ID
     */
    private String thirdPartyId;

    /**
     * 密码
     */
    @NotBlank(message = "密码不能为空")
    private String encryptPassword;

}
